package com.ruoyi.littleRedBook.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.ruoyi.littleRedBook.domain.pojo.Order;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface OrderMapper extends BaseMapper<Order> {
    // 买家视角：按用户ID和状态查询订单（分页）
    List<Order> selectByBuyerIdAndStatus(@Param("buyerId") Long buyerId,
                                         @Param("status") Integer status,
                                         @Param("start") Integer start,
                                         @Param("size") Integer size);

    // 卖家视角：按用户ID和状态查询订单（分页）
    List<Order> selectBySellerIdAndStatus(@Param("sellerId") Long sellerId,
                                          @Param("status") Integer status,
                                          @Param("start") Integer start,
                                          @Param("size") Integer size);

    // 按订单号查询订单
    Order selectByOrderNo(@Param("orderNo") String orderNo);


    BigDecimal selectTotalAmount(@Param(Constants.WRAPPER) Wrapper<Order> queryWrapper);
}
